// 改文件用于创建Vuex中最为核心的store

// 引入Vue
import Vue from 'vue'
// 引入Vuex
import Vuex from 'vuex'
// 应用Vuex插件
Vue.use(Vuex)

// 准备actions-用于响应组件中的动作
const actions = {
        ji(context, value) {
            context.commit('JI', value)
        },
        wait(context, value) {
            context.commit('WAIT', value)
        }
    }
    // 准备mutations-用于操作数据(state)
const mutations = {
    ADD(state, value) {
        state.sum += value
    },
    JIAN(state, value) {
        state.sum -= value
    },
    JI(state, value) {
        if (state.sum % 2) {
            state.sum += value
        }
    },
    WAIT(state, value) {
        setTimeout(() => {
            state.sum += value
        }, 600);
    },
    ADD_PERSON(state, value) {
        state.personList.unshift(value)
    }
}


// 准备state-用于存储数据
const state = {
    sum: 0,
    school: '深职院',
    subject: '前端',
    personList: [
        { id: '001', name: '张三' }
    ]
}

// 准备一个getters-用于将state中的数据进行加工
const getters = {
    bigSum(state) {
        return state.sum * 10
    }
}

// 创建并暴露store
export default new Vuex.Store({
    // actions:actions,
    actions,
    mutations,
    state,
    getters
})